#include"jeu.h"
void afficher(char M[3][3])
{
    int i,j;
    printf("\n\n");
    printf("         ******* TicTacToe *******\n\n\n");

    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++)
        {
            //if(M[i][j]=='o'||M[i][j]=='x')
            printf("|%c\t",M[i][j]);
           // else
           // printf("| \t");
        }

        printf("| \t| \t| \t|\n");
        printf(" ____ ____ ____\n");

    }

}

void grillevide()
{
    int i=5;
    printf("         ******* TicTacToe *******\n\n\n");
    printf(" ____ ____ ____\n");
    printf("|    |    |    |\n");
    printf("|    |    |    |\n",i+3);
    printf("|____|____|____|\n");
    printf("|    |    |    |\n");
    printf("|    |    |    |\n",i);
    printf("|____|____|____|\n");
    printf("|    |    |    |\n");
    printf("|    |    |    |\n");
    printf("|____|____|____|\n\n");

}

void remplir(char M[3][3])
{
    int i;
    int c,a,d,b,k,w,m,u,z;
    printf("tapez une case de 0 --> 9:\n");

    do
    {
        printf("joueur 1: ");
        scanf("%d",&c);
        a=c;
        if (c==1)
            M[0][0]='x';
        else if(c==2)
            M[0][1]='x';
        else if(c==3)
            M[0][2]='x';
        else if(c==4)
            M[1][0]='x';
        else if(c==5)
            M[1][1]='x';
        else if(c==6)
            M[1][2]='x';
        else if(c==7)
            M[2][0]='x';
        else if(c==8)
            M[2][1]='x';
        else if(c==9)
            M[2][2]='x';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9));
    afficher(M);
    resultat(M);
    do
    {
        printf("joueur 2: ");
        scanf("%d",&c);
        b=c;
        if (c==1)
            M[0][0]='o';
        else if(c==2)
            M[0][1]='o';
        else if(c==3)
            M[0][2]='o';
        else if(c==4)
            M[1][0]='o';
        else if(c==5)
            M[1][1]='o';
        else if(c==6)
            M[1][2]='o';
        else if(c==7)
            M[2][0]='o';
        else if(c==8)
            M[2][1]='o';
        else if(c==9)
            M[2][2]='o';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a));
    afficher(M);
    resultat(M);

    do
    {
        printf("joueur 1: ");
        scanf("%d",&c);
        k=c;
        if (c==1)
            M[0][0]='x';
        else if(c==2)
            M[0][1]='x';
        else if(c==3)
            M[0][2]='x';
        else if(c==4)
            M[1][0]='x';
        else if(c==5)
            M[1][1]='x';
        else if(c==6)
            M[1][2]='x';
        else if(c==7)
            M[2][0]='x';
        else if(c==8)
            M[2][1]='x';
        else if(c==9)
            M[2][2]='x';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a)&&(c!=b));
    afficher(M);
    resultat(M);
    do
    {
        printf("joueur 2: ");
        scanf("%d",&c);
        d=c;
        if (c==1)
            M[0][0]='o';
        else if(c==2)
            M[0][1]='o';
        else if(c==3)
            M[0][2]='o';
        else if(c==4)
            M[1][0]='o';
        else if(c==5)
            M[1][1]='o';
        else if(c==6)
            M[1][2]='o';
        else if(c==7)
            M[2][0]='o';
        else if(c==8)
            M[2][1]='o';
        else if(c==9)
            M[2][2]='o';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a)&&(c!=b)&&(c!=k));
    afficher(M);
    resultat(M);

    do
    {
        printf("joueur 1: ");
        scanf("%d",&c);
        w=c;
        if (c==1)
            M[0][0]='x';
        else if(c==2)
            M[0][1]='x';
        else if(c==3)
            M[0][2]='x';
        else if(c==4)
            M[1][0]='x';
        else if(c==5)
            M[1][1]='x';
        else if(c==6)
            M[1][2]='x';
        else if(c==7)
            M[2][0]='x';
        else if(c==8)
            M[2][1]='x';
        else if(c==9)
            M[2][2]='x';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a)&&(c!=b)&&(c!=k)&&(c!=d));
    afficher(M);
    resultat(M);
    do
    {
        printf("joueur 2: ");
        scanf("%d",&c);
        m=c;
        if (c==1)
            M[0][0]='o';
        else if(c==2)
            M[0][1]='o';
        else if(c==3)
            M[0][2]='o';
        else if(c==4)
            M[1][0]='o';
        else if(c==5)
            M[1][1]='o';
        else if(c==6)
            M[1][2]='o';
        else if(c==7)
            M[2][0]='o';
        else if(c==8)
            M[2][1]='o';
        else if(c==9)
            M[2][2]='o';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a)&&(c!=b)&&(c!=d)&&(c!=k)&&(c!=w));
    afficher(M);
    resultat(M);

    do
    {
        printf("joueur 1: ");
        scanf("%d",&c);
        u=c;
        if (c==1)
            M[0][0]='x';
        else if(c==2)
            M[0][1]='x';
        else if(c==3)
            M[0][2]='x';
        else if(c==4)
            M[1][0]='x';
        else if(c==5)
            M[1][1]='x';
        else if(c==6)
            M[1][2]='x';
        else if(c==7)
            M[2][0]='x';
        else if(c==8)
            M[2][1]='x';
        else if(c==9)
            M[2][2]='x';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a)&&(c!=b)&&(c!=d)&&(c!=k)&&(c!=w)&&(c!=m));
    afficher(M);
    resultat(M);
    do
    {
        printf("joueur 2: ");
        scanf("%d",&c);
        z=c;
        if (c==1)
            M[0][0]='o';
        else if(c==2)
            M[0][1]='o';
        else if(c==3)
            M[0][2]='o';
        else if(c==4)
            M[1][0]='o';
        else if(c==5)
            M[1][1]='o';
        else if(c==6)
            M[1][2]='o';
        else if(c==7)
            M[2][0]='o';
        else if(c==8)
            M[2][1]='o';
        else if(c==9)
            M[2][2]='o';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a)&&(c!=b)&&(c!=d)&&(c!=k)&&(c!=w)&&(c!=m)&&(c!=u));
    afficher(M);
    resultat(M);

    do
    {
        printf("joueur 1: ");
        scanf("%d",&c);

        if (c==1)
            M[0][0]='x';
        else if(c==2)
            M[0][1]='x';
        else if(c==3)
            M[0][2]='x';
        else if(c==4)
            M[1][0]='x';
        else if(c==5)
            M[1][1]='x';
        else if(c==6)
            M[1][2]='x';
        else if(c==7)
            M[2][0]='x';
        else if(c==8)
            M[2][1]='x';
        else if(c==9)
            M[2][2]='x';
        else
            printf("veuillez saisir une case de 1 a 9\n");
    }
    while((c!=1)&&(c!=2)&&(c!=3)&&(c!=4)&&(c!=5)&&(c!=6)&&(c!=7)&&(c!=8)&&(c!=9)&&(c!=a)&&(c!=b)&&(c!=d)&&(c!=k)&&(c!=w)&&(c!=m)&&(c!=u));
    afficher(M);
    resultat(M);
}
void resultat(char M[3][3])
{

    if(   ((M[0][0]==M[1][1])&&(M[0][0]==M[2][2])&&(M[1][1]==M[2][2]))
            ||((M[0][2]==M[1][1])&&(M[0][2]==M[2][0])&&(M[1][1]==M[2][0]))

            ||(M[0][0]==M[0][1]==M[0][2]=='x')
            ||(M[1][0]==M[1][1]==M[1][2]=='x')
            ||(M[2][0]==M[2][1]==M[2][2]=='x')

            ||(M[0][0]==M[1][0]==M[2][0]=='x')
            ||(M[0][1]==M[1][1]==M[2][1]=='x')
            ||(M[0][2]==M[1][2]==M[2][2]=='x') )
        printf("Gagnant: Joueur 1\n");

    else if(  (M[0][0]==M[1][1]==M[2][2]=='o')
              ||(M[0][2]==M[1][1]==M[2][0]=='o')

              ||(M[0][0]==M[0][1]==M[0][2]=='o')
              ||(M[1][0]==M[1][1]==M[1][2]=='o')
              ||(M[2][0]==M[2][1]==M[2][2]=='o')

              ||(M[0][0]==M[1][0]==M[2][0]=='o')
              ||(M[0][1]==M[1][1]==M[2][1]=='o')
              ||(M[0][2]==M[1][2]==M[2][2]=='o'))
        printf("Gagnant: Joueur 2\n");
    else
        printf("Partie Null\n");


}


